package yu.zhu.todo.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yu.zhu.todo.pojo.TodoDto;
import yu.zhu.todo.service.TodoService;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @Author yuzhu
 * @Date 2020/11/10 22:51
 */
@Service
@Transactional
public class TodoServiceMysqlImpl implements TodoService {
    @Autowired
    private yu.zhu.todo.dao.TodoDao todoDao;

    @Override
    public TodoDto saveTodo(TodoDto todo) {
         todoDao.insert(todo);

        return todoDao.selectById((Serializable) todo.getId());
    }

    @Override
    public void deleteTodo(String id) {
        todoDao.deleteById(id);
    }



    @Override
    public List<TodoDto> findAllTodo() {
        List<TodoDto> todoList = todoDao.selectList(new EntityWrapper<>());
            return todoList;
    }

    @Override
    public TodoDto updateTodo(TodoDto todo) {
        todoDao.updateById(todo);
        return findByTodoId((String) todo.getId());
    }

    @Override
    public TodoDto findByTodoId(String id) {
        return  todoDao.selectById(id);
    }


}
